This invention relates to a method of reconfiguring the storage areas of a memory and, more particularly, to a method applicable to an apparatus wherein a memory is subdivided into plural storage areas and predetermined data are written into respective ones of the subdivided memory areas. In the method of reconfiguring the storage areas, it is discriminated whether a blank portion exists in a predetermined one of such storage areas. When there are no blank portions or substantially no blank portions in the predetermined storage area, the blank portions of the remaining storage areas are reduced in size whereas the predetermined storage area is enlarged in size by an amount corresponding to the reduction effected in the remaining storage areas.
For realizing high-speed processing through the use of a low cost apparatus or system, it is important to make the best use of the storage areas of a fixed capacity memory device, such as a main memory, to dispense with any special external memory. The necessity for such effective utilization of resources is equally important for a small-size apparatus with a built-in microcomputer, to say nothing of a large-scale computer system, especially in view of the fact that the manufacturing costs of a small-size apparatus depend primarily on the memory capacity.
An example of such a processing apparatus is an apparatus for automatically creating machining programs (NC tapes) for controlling machine tools.
Usually, NC machine tools are operated as instructed by a machining program recorded on an NC tape for machining a workpiece in a desired manner. These NC tapes are prepared by introducing, from drawings ofthe workpiece, the totality of the numerical data necessary for machining, such as size or feed rate data and other machining conditions, by punching the paper tape in accordance with predetermined rules. When machining workpieces by NC machine tools, the NC tapes are loaded in a tape reader of the NC apparatus for sequentially reading out the commands recorded on the NC tapes. These commands are then executed to carry out the machining operation in the desired manner. These NC tapes, consisting of paper tapes on which the data have been recorded by punching, can be prepared only with considerable time and skill. In recent years, a device for automatically creating NC tapes has been devised and put into practical use. These automatic devices are provided with a graphic display, keyboard and printer and are extremely useful because they permit the simple creation of NC tapes promptly and accurately. These devices make use of a computer, the software designed for preparation of the NC tape (system program) is stored in an enclosed main memory.
The system programs designed for preparation of the NC tapes are variable with machining modes, such as turning, 21/2-axis milling, 3-axis milling, punching, wire-cut electric discharge machining, and so forth. The memory capacity would be voluminous if these system programs for the respective machining modes are to be stored in the main memory, thus raising the costs of the device. Moreover, the system programs designed for all of the machining modes are not necessarily required by all users. Thus, the system programs are stored separately in magnetic cassette tapes, and the system programs are entered from these cassette tapes into the main memory as the occasion may demand.
In preparing the machining program, it is necessary to prepare a group of data describing the tool counter movements (part program) in accordance with predetermined rules and to input the data group into the main memory while storing the predetermined system program simultaneously in the main memory. In the case of milling, these data groups may be composed of tool radius data, part surface data defining the radial component of the tool movement, drive surface data defining the axial component of the tool movement, and stop surface data defining the limit of tool movement when the tool is moved along both the part surface and drive surface. The above data are the graphic data representing part shape or the like. The data groups are further composed of the start position data for the contouring movement and the data for commanding the contouring movement, these two being the command data for tool movement.
When a part program has been entered, the automatic NC tape creating device operates to make use of the part program to automatically create a machining program under control of the system program, to store the resulting machining program in the main memory and to punch the paper tape for preparation of the NC tape.
Hence, the storage area of the main memory is subdivided into an area for storing the basic system program, an area for storing an optional system program, an area for storing a part program, and one or more areas (working areas) for storing a machining program to be created and various data such as graphic data necessary for preparation of the NC tape. FIG. 1 shows diagrammatically the various areas of the main memory 101, specifically a basic system program area BSP, an optional system program area OSP (hereafter referred to as file No. 4), two working data areas NCP.sub.1, NCP.sub.2 (hereafter referred to as file Nos. 2 and 3), respectively) and a part program area PPA (hereafter referred to as file No. 1). Only one working data area or three or more working data areas may be provided if so desired.
In the conventional automatic NC tape creating devices, the basic program area BSP and the respective files (PPA, NCP.sub.1, NCP.sub.2) have been fixed in the main memory 101 and have predetermined sizes. Hence, the part program may not be accomodated in the file No. 1 (PPA) for certain sizes of the part program, or the machining program to be created may not be accommodated in the file No. 2 (NCP.sub.1) or the file No. 3 (NCP.sub.2) even if the part program can be accommodated in the file No. 1 (PPA). In such cases, the device is no longer in a position to prepare and execute the machining program despite the remaining area still having blank portions in which to store the excess data. In other words, in the conventional NC tape creating devices, the processing must be discontinued when a certain area or areas (such as files Nos. 1 through 3) are full of data despite the remaining areas having a sufficient blank portion. Thus, continued operation must be assured by enlarging the capacity of the memory 101 by making use of an external memory, resulting in higher manufacturing costs.